.TH E1432_GET_HWCONFIG 3 E1432
.SH NAME
e1432_get_hwconfig \- Get module configuration
.IX e1432_get_hwconfig(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_get_hwconfig(SHORTSIZ16 modCount,
                              SHORTSIZ16 *logAddrList,
                              struct e1432_hwconfig *hwconfig)
.cE
.SH DESCRIPTION

\fIe1432_get_hwconfig\fR returns information about the modules found
at each logical address given.  This function will return an error if
any of the modules do not yet have firmware installed (firmware is
installed by the \fIe1432_install\fR function).  This means that the
\fIe1432_get_hwconfig\fR function is a convenient way to test if
\fIe1432_install\fR needs to be done.  See the \fIe1432_install\fR
manual page for example code of how to do this.

\fImodCount\fR specifies how many different modules to examine.

\fIlogAddrList\fR is an array of VXI logical addresses.  This array
must be as long as \fImodCount\fR.  Each logical address in this array
will be examined.

\fIhwconfig\fR is an array of pointers to structures of type struct
e1432_hwconfig.  This array must be as long as \fImodCount\fR, and the
pointers must point to already allocated structures.  Each structure
is filled in with information about the corresponding logical address
from the \fIlogAddrList\fR array.  If any logical address does not
contain an E1432 module, this function returns an error.

The \fIe1432_hwconfig\fR structure contains the following fields:

\fIman_id\fR, the VXI Manufacturer ID of the module.  The Manufacturer
ID for Hewlett-Packard is 0xfff.

\fImodel_code\fR, the VXI Model Code of the module.
The model code for E1432 is 0x201.
The model code for E1433A and E1433B is 0x202.
The model code for E1434 is 0x203.

\fIhw_rev\fR, the hardware revision.  The value is a
four-decimal-digit date code.

\fIbootrom_rev\fR, the boot ROM revision.  This is a number which
represents the date of the boot ROM code.  The number is of the form
19950721 (unless the boot ROM is very old, in which case the value is
some number that doesn't look anything like a date code).

\fIfw_rev\fR, the firmware revision.  This is a number which
represents the date the firmware was created.  The number is of the
form 19950721.

\fIsca_id\fR, an array of IDs for the SCAs that are present.  The
value will be one of:

.ne 10
.TS
box center;
c s
c | c
l | l.
SCA ID Values
_
Define (in e1432.h)	Meaning
=
E1432_SCA_ID_NONE	No SCA in this slot
E1432_SCA_ID_TACH	Option AYF Tachometer
E1432_SCA_ID_CLARINET	Option 1D4 Single-channel Source
E1432_SCA_ID_VIBRATO	E1432 51.2 kHz Input
E1432_SCA_ID_SONATA_A	E1433A 196 kHz Input
E1432_SCA_ID_SONATA_B	E1433B 196 kHz Input
E1432_SCA_ID_SONATA	(same as E1432_SCA_ID_SONATA_A)
E1432_SCA_ID_CLARION	E1434 Source
.TE

\fIsca_rev\fR, an array of revision codes for the SCAs that are
present.  The interpretation of this value depends upon the ID of the
SCA.  For a \fBE1432_SCA_ID_VIBRATO\fR, the value is a number between
0 and 5 (higher is more recent).  For a \fBE1432_SCA_ID_SONATA\fR, the
value is a number between 0 and 4 (higher is more recent).  For a
\fBE1432_SCA_ID_TACH\fR, a value of 0 means that the board does not
have the ability to do system triggering or monitor the analog tach
input; a value of 1 means that the board can system trigger but can't
monitor the analog tach input, and a value of 2 means that the board
can system trigger and can monitor the analog tach input.  All shipped
tach boards should have a rev of 2 or higher.

\fIbob_id\fR, an array of IDs for any break-out boxes that may be
connected to the SCAs.  Possible values are:

.ne 9
.TS
box center;
c s
c | c
l | l.
Break-out Box ID Values
_
Define (in e1432.h)	Meaning
=
E1432_BOB_ID_NONE	No smart break-out box detected
E1432_BOB_ID_CHARGE_PROTO	Prototype Charge/ICP break-out box
E1432_BOB_ID_CHARGE	Charge/ICP break-out box
E1432_BOB_ID_CHARGE2	B-version of Charge/ICP break-out box
E1432_BOB_ID_MIKE_PROTO	Prototype Microphone break-out box
E1432_BOB_ID_MIKE	Microphone break-out box
E1432_BOB_ID_MIKE2	B-version of Microphone break-out box
.TE

\fItotal_chans\fR, the total number of input, source, and tach
channels present in the module.

\fIinput_chans\fR, the total number of input channels present in the
module.

\fIsource_chans\fR, the total number of source channels present in the
module.

\fItach_chans\fR, the total number of tach channels present in the
module.

\fIoct_present\fR, which is non-zero if the module has the Octave option
(1D1) installed.

\fIlbus_present\fR, which is non-zero if the module supports VXI
local-bus transfers.

\fIdram_size\fR, which is the total size of DRAM, in terms of 32-bit
words.

\fIa24_used\fR, which is the total amount of A24 space used by this
module, in bytes.  This value will either be 1MB or 256KB, depending
on the VXI interface ROM present in the module.

\fIserial\fR, which is a string containing the serial number of the
module.
.SH "RESET VALUE"
Not applicable.
.SH "RETURN VALUE"
Return 0 if successful, a (negative) error number otherwise.
.SH "SEE ALSO"
.na
e1432_assign_channel_numbers, e1432_install
.ad
